package cn.hill4j.tool.core.crypto;
/**
  * ClassName: ReqEncVo
  * Description: 密文报文统一数据格式定义接口
  * @author hillchen
  * Date: 2023/8/8
  * @version: 1.0
  */
public interface ReqEncVo {
    /**
     * 请求时间
     * @return Long
     */
    Long findReqTime();
    /**
     * @author hillchen
     * Description: 设置请求时间戳
     * Date: 2023/8/9 22:41
     * @param reqTime 请求时间
     **/
    void putReqTime(Long reqTime);

    /**
     * 请求序列号
     * @return String
     */
    String findReqId();
    /**
     * @author hillchen
     * Description: 设置请求id
     * Date: 2023/8/9 22:41
     * @param reqId 请求id
     **/
    void putReqId(String reqId);

    /**
     * 请求来源，可以为发送请求平台
     * @return String
     */
    String findReqSource();
    /**
     * @author hillchen
     * Description: 设置请求来源
     * Date: 2023/8/9 22:42
     * @param reqSource 请求来源
     **/
    void putReqSource(String reqSource);

    /**
     * 对称加密数据密钥
     * @return String
     */
    String findEncDataKey();
    /**
     * @author hillchen
     * Description: 设置加密密钥
     * Date: 2023/8/9 22:59
     * @param encDataKey 加密密钥
     **/
    void putEncDataKey(String encDataKey);

    /**
     * 请求数据
     * @return String
     */
    String findEncReqData();
    /**
     * @author hillchen
     * Description: 设置加密数据
     * Date: 2023/8/9 23:00
     * @param encReqData 加密数据
     **/
    void putEncReqData(String encReqData);

    /**
     * 请求md5签名
     * @return String
     */
    String findReqSign();
    /**
     * @author hillchen
     * Description: 设置签名
     * Date: 2023/8/9 23:00
     * @param reqSign 签名
     **/
    void putReqSign(String reqSign);
}
